/* Copyright (c) 2015, LGE Inc. All rights reserved.
 * Copyright (c) 2016, The Linux Foundation. All rights reserved.
 *
 * This program is free software; you can redistribute it and/or modify
 * it under the terms of the GNU General Public License version 2 and
 * only version 2 as published by the Free Software Foundation.
 *
 * This program is distributed in the hope that it will be useful,
 * but WITHOUT ANY WARRANTY; without even the implied warranty of
 * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 * GNU General Public License for more details.
 */

&smd_rpm {
	rpm {
		rpm_requests {
			pm8994-regulators {

				vdd_l1-supply = <&pm8994_s1>;
				vdd_l2_26_28-supply = <&pm8994_s3>;
				vdd_l3_11-supply = <&pm8994_s3>;
				vdd_l4_27_31-supply = <&pm8994_s3>;
				vdd_l5_7-supply = <&pm8994_s3>;
				vdd_l6_12_32-supply = <&pm8994_s5>;
				vdd_l8_16_30-supply = <&vreg_vph_pwr>;
				vdd_l9_10_18_22-supply = <&vreg_vph_pwr>;
				vdd_l13_19_23_24-supply = <&vreg_vph_pwr>;
				vdd_l14_15-supply = <&pm8994_s5>;
				vdd_l17_29-supply = <&vreg_vph_pwr>;
				vdd_l20_21-supply = <&vreg_vph_pwr>;
				vdd_l25-supply = <&pm8994_s5>;
				vdd_lvs1_2 = <&pm8994_s4>;

				s1 {
					regulator-min-microvolt = <800000>;
					regulator-max-microvolt = <800000>;
				};

				s2 {
					/* TODO */
				};

				s3 {
					regulator-min-microvolt = <1300000>;
					regulator-max-microvolt = <1300000>;
				};

				s4 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-allow-set-load;
					regulator-system-load = <325000>;
				};

				s5 {
					regulator-min-microvolt = <2150000>;
					regulator-max-microvolt = <2150000>;
				};

				s7 {
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
				};

				l1 {
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
				};

				l2 {
					regulator-min-microvolt = <1250000>;
					regulator-max-microvolt = <1250000>;
				};

				l3 {
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
				};

				l4 {
					regulator-min-microvolt = <1225000>;
					regulator-max-microvolt = <1225000>;
				};

				l5 {
					/* TODO */
				};

				l6 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};

				l7 {
					/* TODO */
				};

				l8 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};

				l9 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
				};

				l10 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,init-voltage = <1800000>;
				};

				l11 {
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					qcom,init-voltage = <1200000>;
				};

				l12 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,init-voltage = <1800000>;
					proxy-supply = <&pm8994_l12>;
					qcom,proxy-consumer-enable;
					qcom,proxy-consumer-current = <10000>;
					status = "okay";
				};

				l13 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <2950000>;
					qcom,init-voltage = <2950000>;
					status = "okay";
				};

				l14 {
					regulator-min-microvolt = <1200000>;
					regulator-max-microvolt = <1200000>;
					qcom,init-voltage = <1200000>;
					proxy-supply = <&pm8994_l14>;
					qcom,proxy-consumer-enable;
					qcom,proxy-consumer-current = <10000>;
					status = "okay";
				};

				l15 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,init-voltage = <1800000>;
					status = "okay";
				};

				l16 {
					regulator-min-microvolt = <2700000>;
					regulator-max-microvolt = <2700000>;
					qcom,init-voltage = <2700000>;
					status = "okay";
				};

				l17 {
					regulator-min-microvolt = <2700000>;
					regulator-max-microvolt = <2700000>;
					qcom,init-voltage = <2700000>;
					status = "okay";
				};

				l18 {
					regulator-min-microvolt = <3000000>;
					regulator-max-microvolt = <3000000>;
					regulator-always-on;
					qcom,init-voltage = <3000000>;
					qcom,init-ldo-mode = <1>;
				};

				l19 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,init-voltage = <1800000>;
					status = "okay";
				};

				l20 {
					regulator-min-microvolt = <2950000>;
					regulator-max-microvolt = <2950000>;
					regulator-always-on;
					regulator-boot-on;
					regulator-allow-set-load;
					regulator-system-load = <570000>;
				};

				l21 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					regulator-always-on;
					qcom,init-voltage = <1800000>;
				};

				l22 {
					regulator-min-microvolt = <3100000>;
					regulator-max-microvolt = <3100000>;
					qcom,init-voltage = <3100000>;
				};

				l23 {
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					qcom,init-voltage = <2800000>;
				};

				l24 {
					regulator-min-microvolt = <3075000>;
					regulator-max-microvolt = <3150000>;
					qcom,init-voltage = <3075000>;
				};

				l25 {
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,init-voltage = <1800000>;
				};

				l26 {
					/* TODO: value from downstream
					regulator-min-microvolt = <987500>;
					fails to apply */
				};

				l27 {
					regulator-min-microvolt = <1050000>;
					regulator-max-microvolt = <1050000>;
					qcom,init-voltage = <1050000>;
				};

				l28 {
					regulator-min-microvolt = <1000000>;
					regulator-max-microvolt = <1000000>;
					qcom,init-voltage = <1000000>;
					proxy-supply = <&pm8994_l28>;
					qcom,proxy-consumer-enable;
					qcom,proxy-consumer-current = <10000>;
				};

				l29 {
					/* TODO: Unsupported voltage range.
					regulator-min-microvolt = <2800000>;
					regulator-max-microvolt = <2800000>;
					qcom,init-voltage = <2800000>;
					*/
				};

				l30 {
					/* TODO: get this verified
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,init-voltage = <1800000>;
					*/
				};

				l31 {
					regulator-min-microvolt = <1262500>;
					regulator-max-microvolt = <1262500>;
					qcom,init-voltage = <1262500>;
				};

				l32 {
					/* TODO: get this verified
					regulator-min-microvolt = <1800000>;
					regulator-max-microvolt = <1800000>;
					qcom,init-voltage = <1800000>;
					*/
				};
			};
		};
	};
};
